package zdx.lesson;

public class TestClass
{
    TestClass(){
        System.out.println("构造方法放在最前，却在最后执行！");
    }
    {
        System.out.println("放在初始值赋值前的普通代码块");
    }

    int first = firstMethod();
    int second = secondMethod();//在一个类的加载过程中，默认值规则先于一切，
    //也就是一个类内的属性，即使不赋值，如整型也会先初始化成 0

    {
        System.out.println("放在初始值赋值后的普通代码块");
    }


    static {
        System.out.println("这是位于类内的第一个静态代码块：3");
    }


    public int firstMethod(){
        System.out.println("由第一个初始值赋值规则调动输出的值：1");
        return 1;
    }
    public int secondMethod(){
        System.out.println("由第二个初始值规则调动输出的值：2");
        return 2;
    }

    public static void main(String[] args) {
        new TestClass();
    }

}
